#!/usr/bin/env bash

# ----------------------------------------------------------------------
# Filename :  04-miss-run.sh
# Version  :  1.0
# Date     :  2020/07/08
# Author   :  Lz
# Email    :  lz843723683@gmail.com
# History  :     
#             Version 1.0, 2020/07/08
# Function :  联研院服务器运行版 - 系统缺失文件
# Out:        
#              0 => TPASS
#              1 => TFAIL
#              other=> TCONF
# ----------------------------------------------------------------------

## TODO : 测试收尾清除工作
#
MissClean_FTLYY_RUN(){
	return $TPASS
}


## TODO: 调用程序退出函数
#    In: $1 => 调用脚本结果值
MissExit_FTLYY_RUN(){
        # 调用退出函数，其中调用了clean相关函数
	Exit_FTLIB ${1}
}


## TODO: 用户界面
#
MissUSAGE_FTLYY_RUN(){
	USAGE_FTLIB "联研院服务器运行版 - 系统缺失文件"
}


## TODO : 测试前的初始化 
#  Out  : 
#         0 => TPASS
#         1 => TFAIL
#         other=> TCONF
MissInit_FTLYY_RUN(){
        # 调用初始化函数
	Init_FTLIB "MissClean_FTLYY_RUN"
        # 调用用户界面函数
 	MissUSAGE_FTLYY_RUN
}


## TODO ：存在opensslconf.h
#
MissTest01_FTLYY_RUN(){
        local path="/usr/include/openssl"
	local file="opensslconf.h"
	
	if [ -f "${path}/${file}" ];then
	# 存在文件
		ls -al ${path}/${file}
	        RetParse_FTLIB "要求 ${path} 中存在文件 ${file}" "False"
	else
	# 不存在文件
		echo "不存在文件 ${path}/${file}"
		OutputRet_FTLIB "${TFAIL}"
	        RetParse_FTLIB "要求 ${path} 中存在文件 ${file}" "False"
	fi
}


## TODO ：crypt
#
MissTest02_FTLYY_RUN(){
        local path="/etc"
	local pathname="crypt"
	
	if [ -d "${path}/${pathname}" ];then
	# 存在目录
		ls -ald ${path}/${pathname}
	        RetParse_FTLIB "要求 ${path} 中存在目录 ${pathname}" "False"
	else
	# 不存在目录
		echo "不存在目录 ${path}/${pathname}"
		OutputRet_FTLIB "${TFAIL}"
	        RetParse_FTLIB "要求 ${path} 中存在目录 ${pathname}" "False"
	fi
}


## TODO ：libodbc.so.1.0.0
#
MissTest03_FTLYY_RUN(){
        local path="/usr/lib"
	local file="libodbc.so.1.0.0"
	
	if [ -f "${path}/${file}" ];then
	# 存在文件
		ls -al ${path}/${file}
	        RetParse_FTLIB "要求 ${path} 中存在文件 ${file}" "False"
	else
	# 不存在文件
		echo "不存在文件 ${path}/${file}"
		OutputRet_FTLIB "${TFAIL}"
	        RetParse_FTLIB "要求 ${path} 中存在文件 ${file}" "False"
	fi
}


## TODO ：libpcre.so.3.12.1
#
MissTest04_FTLYY_RUN(){
        local path="/usr/lib /usr/lib64"
	local file="libpcre.so.3.12.1"
	
	local tmppath=""
	for tmppath in ${path}
	do
		if [ -f "${tmppath}/${file}" ];then
		# 存在文件
			ls -al ${tmppath}/${file}
		        RetParse_FTLIB "要求 ${tmppath} 中存在文件 ${file}" "False"
		else
		# 不存在文件
			echo "不存在文件 ${tmppath}/${file}"
			OutputRet_FTLIB "${TFAIL}"
		        RetParse_FTLIB "要求 ${tmppath} 中存在文件 ${file}" "False"
		fi
	done
}


## TODO ：freetds.conf
#
MissTest05_FTLYY_RUN(){
        local path="/usr/local/freetds/etc"
	local file="freetds.conf"
	
	if [ -f "${path}/${file}" ];then
	# 存在文件
		ls -al ${path}/${file}
	        RetParse_FTLIB "要求 ${path} 中存在文件 ${file}" "False"
	else
	# 不存在文件
		echo "不存在文件 ${path}/${file}"
		OutputRet_FTLIB "${TFAIL}"
	        RetParse_FTLIB "要求 ${path} 中存在文件 ${file}" "False"
	fi
}


## TODO ：libsql_engine.a 、libsql_engine.la 和 libsql_engine.so.1.0.0
#
MissTest06_FTLYY_RUN(){
        local path="/usr/lib"
	local file="libsql_engine.a libsql_engine.la libsql_engine.so.1.0.0"
	
	local tmpfile=""
	for tmpfile in ${file}
	do
		if [ -f "${path}/${tmpfile}" ];then
		# 存在文件
			ls -al ${path}/${tmpfile}
		        RetParse_FTLIB "要求 ${path} 中存在文件 ${tmpfile}" "False"
		else
		# 不存在文件
			echo "不存在文件 ${path}/${tmpfile}"
			OutputRet_FTLIB "${TFAIL}"
		        RetParse_FTLIB "要求 ${path} 中存在文件 ${tmpfile}" "False"
		fi
	done
}


## TODO : Main
#  Out  : 
#         0 => TPASS
#         1 => TFAIL
#         other => TCONF
MissMain_FTLYY_RUN(){
	MissInit_FTLYY_RUN

	MissTest01_FTLYY_RUN

	MissTest02_FTLYY_RUN

	MissTest03_FTLYY_RUN

	MissTest04_FTLYY_RUN

	MissTest05_FTLYY_RUN

	MissTest06_FTLYY_RUN

	return ${TPASS}	
}

MissMain_FTLYY_RUN
MissExit_FTLYY_RUN $?
